package cn.cs.client;

import cn.cs.config.CsConfiguration;
import cn.cs.fallback.AgentUserForUserDBFallBack;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

@FeignClient(name = "cs-user-provider", configuration = CsConfiguration.class, fallback = AgentUserForUserDBFallBack.class)
public interface AgentUserForUserDB {
    @RequestMapping(value = "/getInvoiceInfo", method = RequestMethod.POST)
    Map<String,Object> getInvoiceInfo(@RequestBody  Map<String, Object> levelPay);
    @RequestMapping(value = "/getAllAreaByPid", method = RequestMethod.POST)
    List<String> getAllAreaByPid(@RequestParam("agent_area") String agent_area);
    @RequestMapping(value = "/getseqOfCity", method = RequestMethod.POST)
    int getseqOfCity();
    @RequestMapping(value = "/getDevShops", method = RequestMethod.POST)
    List<Map<String,Object>> getDevShops(@RequestParam("code") String code);
    @RequestMapping(value = "/getDevRepUsers", method = RequestMethod.POST)
    List<Map<String,Object>> getDevRepUsers(@RequestBody  Map<String, Object> param);
    @RequestMapping(value = "/getNearShopByMap", method = RequestMethod.POST)
    Map<String,Object> getNearShopByMap(@RequestBody Map<String, Object> shop);
    @RequestMapping(value = "/addNearShop", method = RequestMethod.POST)
    int addNearShop(@RequestBody Map<String, Object> shop);
    @RequestMapping(value = "/insertShopType", method = RequestMethod.POST)
    int insertShopType(@RequestBody Map<String, Object> typeMap);
    @RequestMapping(value = "/getPlatProList", method = RequestMethod.POST)
    List<Map<String,Object>> getPlatProList(@RequestBody Map<String, Object> param);
    @RequestMapping(value = "/getPlatInfo", method = RequestMethod.POST)
    Map<String,Object> getPlatInfo(@RequestParam("id") String id);
    @RequestMapping(value = "/getProImageList", method = RequestMethod.POST)
    List<Map<String,Object>> getProImageList(@RequestParam("id")String id);
    @RequestMapping(value = "/getCsPartInfoById", method = RequestMethod.POST)
    Map<String,Object> getCsPartInfoById(@RequestParam("parts_id")String parts_id);
    @RequestMapping(value = "/getCancelDay", method = RequestMethod.POST)
    String getCancelDay();
    @RequestMapping(value = "/getAgentAreaLevel", method = RequestMethod.POST)
    Map<String,Object> getAgentAreaLevel(@RequestParam("id") String id);
    @RequestMapping(value = "/insertAgentInvoice", method = RequestMethod.POST)
    int insertAgentInvoice(@RequestBody Map<String, Object> invoiceMap);
}
